1. The Field of the Invention
The present invention relates to methods and systems for sending event notification. More specifically, the present invention relates to methods and systems for determining an appropriate protocol to use when notifying a client computer inside a firewall of events that occur outside the firewall.
2. The Prior State of the Art
The popularity of the Internet has profoundly improved the way people communicate by allowing users quick and easy access to information. By accessing the World Wide Web and electronic mail through computers and other devices, people now stay in touch with each other around the globe, and can access information on a virtually limitless variety of subjects.
However, transmitting and storing information on the Internet raises various security issues. Any device using the Internet to store or transfer information is vulnerable to attack from all other devices on the Internet. As a result, many entities want the advantages of the Internet while still protecting their data and devices from attack. To meet the need for security on the Internet, a variety of products have been developed.
One product in particular is the “firewall.” Firewalls are used to monitor communication between computer networks. If a firewall detects communication that communication over the Internet. In operation, a private network sits “inside” the firewall. When communication that might pose a security risk to the private network is detected from a device “outside” the firewall, for example from the Internet, the communication is blocked.
Firewalls are therefore advantageous for shielding a private network from harmful communication originating on the Internet. Firewalls can be configured to block communication based on various criteria, including content of the communication and originating address of the communication. It may also be the case that a firewall is configured to block content depending on the protocol that is used. For instance, when using a connection-oriented protocol (like TCP), the firewall is configured to communicate with clients “inside” the firewall that plan on sending data to, and receiving data from, a machine “outside” the firewall. In this instance, the firewall acts more like a proxy server, where the firewall establishes a connection with an outside server, on behalf of the client machine, while protecting the identity of the internal machine from the external server. However, when using a connectionless-protocol (like UDP) this security functionality is disabled. Thus, many private networks use firewalls to block communication using connectionless protocols in order to protect the private network.
However, a disadvantage of using firewalls to block communication is that firewalls may inadvertently block useful communication, such as notification of the occurrence of events, from entering onto a private network. For instance, a firewall configured to block communications using a certain protocol will block all communication using that protocol. It may be the case, that a device “outside” the firewall legitimately needs to send communications to a device “inside” the firewall.
For example, in the context of event notification, the “outside” device may be monitoring for the occurrence of an event that the “inside” device requested notification of. If the monitored event occurs, the “outside” device may attempt to notify the “inside” device of the occurrence. If a firewall blocks the protocol used by the “outside” device to send the notification, the “inside” device is prevented from receiving the notification. However, the “outside” device is unaware that the firewall is configured to blocked the protocol and thus will continue to send notifications using the blocked protocol.
It is important with the ever-increasing number of users sending and receiving data to devices on the Internet, that a device “inside” a firewall receives notification of the occurrence of an event “outside” the firewall and that the notification is done as efficiently as possible. Accordingly, methods and systems are desired for more efficiently notifying devices “inside” a firewall of the occurrence of events “outside” the firewall.